/*
 * Typed.java
 *
 * Created on February 26, 2007, 1:43 PM
 *
 * (C) R. Alexander Milowski alex@milowski.com
 */

package org.infoset.xml;

/**
 *
 * @author R. Alexander Milowski
 */
public interface Typed {
   
   /**
    * Returns the schema type name of the object.  In the case of
    * built-in simple types (e.g. "xs:string"), there may not be a
    * type definition associated witht he object even though there is
    * a type name.
    */
    Name getTypeName();
    
    /**
     * Set the type name of the typed object.  This method will clear
     * the type definition associated with this object.
     */
    void setTypeName(Name name);
    
   /**
    * Returns a type definition from the schema implementation.
    */
   TypeDefinition getTypeDefinition();

   /**
    * Sets the type definition object for this item.
    */
   void setTypeDefinition(TypeDefinition definition);
   
}
